home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib02.dsk
/
NUMERIC KEYPAD LAB.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
43 lines
0 PRINT ""
1 REM *************************
2 REM ** NUMERIC KEYPAD **
3 REM ** MICRO-SPARC **
4 REM ** P.O. BOX 325 **
5 REM ** LINCOLN, MASS 01773 **
6 REM ** COPYRIGHT C 1980 **
7 REM *************************
10 HOME
20 PRINT "THIS PROGRAM REQUIRES THE NUMERIC KEYPAD";
30 PRINT "DESCRIBED IN THE ARTICLE, 'NUMERIC": PRINT "KEYPAD LAB,' WHICH APPEARED IN NIBBLE,": PRINT "VOLUME 1, NUMBER 5. HAVE YOU BUILT THE"
40 PRINT "KEYPAD AND IS IT CONNECTED TO YOUR": PRINT "COMPUTER? (Y/N) ";: POKE -16368,0: GET ZZ$: PRINT ZZ$
50 IF ZZ$ < >"Y" AND ZZ$ < >"N" THEN 10
60 IF ZZ$ = "N" THEN HOME : PRINT "UNABLE TO RUN PROGRAM.": END
95 HOME
100 S1 = PEEK( -16287):S2 = PEEK( -16286):S3 = PEEK( -16285):P = PDL(0)
110 FOR I = 1 TO 25: NEXT I
115 VTAB 12: CALL -868
117 IF S1 <128 AND S2 <128 AND S3 <128 THEN 100
120 PRINT "P=";P;: PRINT TAB( 8)"S1=";S1;: PRINT TAB( 16)"S2=";S2;: PRINT TAB( 24)"S3=";S3
130 IF S1 >127 THEN A$ = "3":B$ = "6":C$ = "9":D$ = CHR$(13): GOSUB 200
135 IF S2 >127 THEN A$ = "2":B$ = "5":C$ = "8":D$ = "0": GOSUB 200
140 IF S3 >127 THEN A$ = "1":B$ = "4":C$ = "7":D$ = ".": GOSUB 200
142 IF S1 <128 AND S2 <128 AND S3 <128 THEN 100
145 IF SS = 0 THEN VTAB 20: PRINT "THE FIRST NUMBER BEING BUILT IS: ";AA$ +W$
147 IF SS = 1 THEN VTAB 21: PRINT "SECOND NUMBER BEING BUILT IS: ";AA$ +W$
150 IF W$ = CHR$(13) AND SS = 0 THEN SS = 1:BB$ = AA$:AA$ = "": PRINT "CARRIAGE RETURN": GOTO 100
155 IF W$ = CHR$(13) AND SS = 1 THEN SS = 0: GOSUB 400
160 AA$ = AA$ +W$: GOTO 100
200 IF P = 23 THEN W$ = A$: RETURN
205 IF P = 40 THEN W$ = B$: RETURN
210 IF P = 64 THEN W$ = C$: RETURN
220 IF P = 79 THEN W$ = D$: RETURN
225 W$ = "": POP : GOTO 100
400 REM
405 N1 = VAL(BB$):N2 = INT(N1):L1$ = STR$(N2)
407 X1 = VAL(AA$):X2 = INT(X1):L2$ = STR$(X2)
408 T = N1 +X1:T2 = INT(T):L3$ = STR$(T2)
410 HOME : PRINT TAB( 10 - LEN(L1$))N1
415 PRINT TAB( 10 - LEN(L2$))X1
420 PRINT TAB( 5)"------------"
425 PRINT TAB( 10 - LEN(L3$))T
430 BB$ = "":AA$ = "":W$ = "": RETURN